<?php

require_once __DIR__ . '/ControllerAbstract.php';
require_once '..' . DS . '/Models/ModelMembro.php';

/**
 * Description of teste
 *
 * @author david
 */
class ControllerService extends ControllerAbstract {

    protected $bancodedados = [];

    public function __construct($config) {
        parent::__construct($config);
    }

    /**
     * Action principal da controller
     */
    public function principal() {
        
    }

    public function auth() {
        if (isset($_POST["cpf"]) && isset($_POST["senha"]) && !empty($_POST["cpf"]) && !empty($_POST["senha"])) {
            $cpf = $_POST["cpf"];
            $senha = $_POST["senha"];

            $modelMembro = new ModelMembro();

            $novaSenha = $modelMembro->getSenhaCriptograda($senha);
            $novoCPF = $modelMembro->removeCaracter($cpf);

            $beanMembro = $modelMembro->getAutentica($novoCPF, $novaSenha);
            
            if ($beanMembro != "erro") {
                if ($beanMembro == null) {
                    $res = "login?invalido";
                } else if ($beanMembro->senha == '') {
                    $res = "login?incompleto";
                } else if ($beanMembro->senha == 0) {
                    $res = "login?senha";
                } else if ($beanMembro->senha == 1 && $beanMembro->ativo == 0) {
                    $res = "login?inativo";
                } else if ($beanMembro->senha == 1 && $beanMembro->ativo == 1) {
                    $res = "";
                    $modelMembro->autentica($beanMembro);
                }
                header("Location: " . BASE_URL . $res);
            } else {
                header("Location: " . BASE_URL . "login?erro");
            }
        } else {
            header("Location: " . BASE_URL . "login?vazio");
        }
    }

    /**
     * Destroy a sessão usuário ao sair
     */
    public function logout() {
        session_destroy();
        header("Location: " . BASE_URL . "login");
    }

}